#ifndef __FRIEND_H__
#define __FRIEND_H__

#include <osg/PolygonOffset>

#include "Character.h"
#include "Player.h"

class Friend : public Character {

public:
	Friend(lua_State* L) : Character(L) {};
	~Friend() {};

	int load(lua_State* L);
	int setClueID(lua_State* L);
	int setClothID(lua_State* L);

	inline int getClueID() {return m_iclueID;}
	inline int getClothID() {return m_iclothID;}

private:
	int m_iclueID;
	int m_iclothID;

	KeyboardState* m_pkeyState;

	friend class Lunar<Friend>;
	static const char className[];
	static Lunar<Friend>::RegType methods[];

};

// Callback class to handle keyboard event
class FriendActionCallback : public osg::NodeCallback {

public:
	FriendActionCallback(KeyboardState* keyState, Friend* pfriend) {
		m_pkeyState = keyState;
		m_pfriend = pfriend;
	}

	virtual void operator()(osg::Node* node, osg::NodeVisitor* nv);

protected:
	KeyboardState* m_pkeyState;
	Friend* m_pfriend;
};


#endif // __FRIEND_H__
